package model;

import view.IObserver;

/**
 * Interface for all Observable classes.
 * @author Vasilios Filippidis
 */
public interface IObservable {
    
    /**
     * Registers an observer.
     * @param o the observer to be registered.
     */
    public void registerObserver (IObserver o);
    
    /**
     * Deletes an observer from the list. 
     * @param o the observer to be deleted.
     */
    public void removeObserver (IObserver o);
    
    /**         
     * Notifies all registered observers.
     */
    public void notifyObservers();    
                
}
